<?php

// 引入公共辅助函数
require_once __DIR__ . '/helpers.php';

// 获取当前环境
$environment = getEnvVar('APP_ENV', 'development');

// 根据环境设置配置
if ($environment === 'production') {
    // 生产环境配置
    $hostname = getEnvVar('HOSTNAME', '116.62.146.217');
    $database = getEnvVar('DATABASE', 'oa');
    $username = getEnvVar('USERNAME', 'root');
    $password = getEnvVar('PASSWORD', 'JyDmXg0407');
    $hostport = getEnvVar('HOSTPORT', '3306');
    $prefix = getEnvVar('PREFIX', 'oa_');
} else {
    // 开发环境配置
    $hostname = getEnvVar('HOSTNAME', 'localhost');
    $database = getEnvVar('DATABASE', 'oa5');
    $username = getEnvVar('USERNAME', 'root');
    $password = getEnvVar('PASSWORD', '123456');
    $hostport = getEnvVar('HOSTPORT', '3306');
    $prefix = getEnvVar('PREFIX', 'oa_');
}

// 调试信息
// echo "Environment: $environment\n";
// echo "Hostname: $hostname\n";
// echo "Database: $database\n";
// echo "Username: $username\n";

return [
    // 默认数据库连接配置
    'default' => env('database.driver', 'mysql'),

    // 数据库连接配置
    'connections' => [
        // MySQL配置
        'mysql' => [
            // 数据库类型
            'type'            => getEnvVar('TYPE', 'mysql'),
            // 服务器地址
            'hostname'        => $hostname,
            // 数据库名
            'database'        => $database,
            // 用户名
            'username'        => $username,
            // 密码
            'password'        => $password,
            // 端口
            'hostport'        => $hostport,
            // 数据库连接参数
            'params'          => [],
            // 数据库编码
            'charset'         => getEnvVar('CHARSET', 'utf8mb4'),
            // 数据库表前缀
            'prefix'          => $prefix,

            // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
            'deploy'          => 0,
            // 数据库读写是否分离 主从式有效
            'rw_separate'     => false,
            // 读写分离后 主服务器数量
            'master_num'      => 1,
            // 指定从服务器序号
            'slave_no'        => '',
            // 是否严格检查字段是否存在
            'fields_strict'   => true,
            // 是否需要断线重连
            'break_reconnect' => false,
            // 监听SQL
            'trigger_sql'     => true,
            // 开启字段缓存
            'fields_cache'    => false,
        ],
    ],
];